/*
* 
* Fichier source projet intel Acceler8 sous license GNU GPL v3.
* Voir http://www.gnu.org/copyleft/gpl.html pour plus d'informations
* La license est egalement disponible dans le repertoire /doc
* 
* Cree le : mercredi 09 novembre 2011 à 23 : 56.
* Auteurs : Axel MOINET et Arnaud DURAND.
* 
* Nom de fichier : taskpsumsmax.h
* Chemin du fichier : ./src/classes/taskpsumsmax/taskpsumsmax.h
* 
* Description :
* 
*/

#ifndef TASK_PSUM_SMAX_H_INCLUDED
#define TASK_PSUM_SMAX_H_INCLUDED

#include "tbb/task.h"
#include "tbb/concurrent_vector.h"
#include <iostream>

class taskPsumSmax : public tbb::task {

public :
	taskPsumSmax(tbb::concurrent_vector<int> *p_cgh, tbb::concurrent_vector<int> *p_psum, tbb::concurrent_vector<int> *p_smax);
	~taskPsumSmax();

	//Surcharge de la fonction d'éxécution de la tâche
	tbb::task* execute();

private :
	//Fonctions de calcul de PSUM et SMAX du tableau CGH fourni au constructeur
	int computePSUM();
	int computeSMAX();

	int tabSize;

	tbb::concurrent_vector<int> *cgh;
	tbb::concurrent_vector<int> *psum;
	tbb::concurrent_vector<int> *smax;
};

#endif
